package com.su.dolphin.control.task;

import com.su.dolphin.control.bean.BaseBean;
import com.su.dolphin.utils.NetStatusUtil;

/**
 * 这个异步任务带有网路检查
 * 
 * @author Administrator
 * 
 */
public class CtrlHttpTask extends CtrlTask
{
    /**
     * CtrlHttpTask
     * 
     * @description:所有的功能都收敛到这里
     * @param taskKey
     *            任务key 可以传null, 当然这样无法get到这个task
     * @param response
     *            返回
     * @param work
     *            任务
     */
    public CtrlHttpTask(String taskKey, IControlResponse response, IControlWork work) {
        super(taskKey, response, work);
    }
    
    /**
     * @title:CtrlTask 注意, 如果使用这个构造函数,无法cancel (等其他控制)指定的task 请自己setTaskKey
     */
    public CtrlHttpTask() {
        super();
    }
    
    /**
     * 执行Task
     */
    public void exec() {
        if (NetStatusUtil.isConnected()) {
            super.exec();
        }
        else {
            BaseBean controlResponseBean = new BaseBean(BaseBean.NETWORK_ERROR);
            onPostExecute(controlResponseBean);
        }
    }
}
